home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 26 / Cream of the Crop 26.iso / program / tcqbsnip.zip / PROPNAME.BAS < prev    next >
BASIC Source File  |  1997-06-20  |  2KB  |  55 lines

  1. ' PROPNAME.BAS
  2. ' by Tika Carr
  3. ' January 23, 1997
  4. ' Inspired by Bucky Carr's request in QUIK_BAS Echo
  5. '
  6. ' Donated to the public domain
  7. ' No warranties or guarantees are expressed or implied.
  8. '
  9. ' Purpose: To properly capitalize just about any type of name
  10.  
  11. DECLARE FUNCTION ProperName$ (Name$)
  12.  
  13. CLS
  14.  
  15. Name$ = "Adrian douglas mcDonAld-Van MACentire o'mArray"
  16. PRINT "Processing Name: "; Name$
  17. P$ = ProperName$(Name$)
  18. PRINT "The Proper Capitalization is: "; P$
  19.  
  20. FUNCTION ProperName$ (Name$)
  21.  
  22. 'First, make the entire name all lower case
  23. Name$ = LCASE$(Name$)
  24.  
  25. 'Loop works until end of name.
  26. DO UNTIL Marker = LEN(Name$) - 1
  27.   Marker = Marker + 1
  28.   'Get part of name (up until a space is found)
  29.   Temp$ = ""
  30.   DO WHILE Separator$ <> " " AND Separator$ <> "-"
  31.     Separator$ = MID$(Name$, Marker, 1)
  32.     Temp$ = Temp$ + MID$(Name$, Marker, 1)
  33.      IF Marker = LEN(Name$) THEN EXIT DO
  34.     Marker = Marker + 1
  35.   LOOP
  36.  
  37.   'Capitalize first letter
  38.   MID$(Temp$, 1, 1) = UCASE$(LEFT$(Temp$, 1))
  39.   'La Mc Le and apostrophe
  40.   Check$ = LEFT$(Temp$, 2)
  41.   IF Check$ = "La" OR Check$ = "Mc" OR Check$ = "Le" OR MID$(Temp$, 2, 1) = "'" THEN
  42.     MID$(Temp$, 3, 1) = UCASE$(MID$(Temp$, 3, 1))
  43.   END IF
  44.   'Van and Mac
  45.   Check$ = LEFT$(Temp$, 3)
  46.   IF Check$ = "Van" OR Check$ = "Mac" THEN
  47.     MID$(Temp$, 4, 1) = UCASE$(MID$(Temp$, 4, 1))
  48.   END IF
  49.   NewName$ = NewName$ + Temp$
  50.   Separator$ = "": Marker = Marker - 1  'Adjustments
  51. LOOP
  52. ProperName$ = NewName$
  53. END FUNCTION
  54.  
  55.